/************************************************************************

								Heroes IV
					  Copyright 2000, The 3DO Company

	------------------------------------------------------------------
  						       saved_combat_context_adv_object.h

	$Header: /game/saved_combat_context.h $

	$NoKeywords: $

 ************************************************************************/

#if !defined( COMBAT_CONTEXT_ADV_OBJECT_H_INCLUDED )
#define COMBAT_CONTEXT_ADV_OBJECT_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "army_ptr.h"
#include "combat_context.h"

class t_combat_context_adv_object : public t_combat_context
{
public:
	t_combat_context_adv_object();
	t_combat_context_adv_object( t_army*									attacker, 
								 t_creature_array*							defender,
								 t_adv_map_point const&						location,
								 t_town*									town = 0,
								 t_ownable_garrisonable_adv_object const*	garrison = 0 );

	virtual t_combat_context_type	get_type() const;
	virtual void					on_combat_end( t_combat_result result );
	virtual bool					read( std::streambuf&  stream,
										  t_adventure_map& adventure_map );
	virtual bool					save_allowed() const;
	virtual bool					write( std::streambuf& stream ) const;
protected:
	t_army_ptr		m_army;
};

#endif // SAVED_COMBAT_CONTEXT_ADV_OBJECT_H_INCLUDED